
package com.hlkj.pay.dto.order;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.pay.dto.BaseQueryDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;
import java.util.Set;

/**
 * @author HlpayTeam
 * @date 2024/11/08 11:51
 */
@Data
public class OrderStatisticsQueryDto extends BaseQueryDto {

    /**
     * 1 天
     * @see com.hlkj.pay.enums.PayOrderEnums.ORDER_STATISTICS_TYPE
     */
    @Schema(description = "统计维度 1 商户维度 2 支付方式 3 APPID 4 通道编码")
    private Integer type;

    /**
     * 商户号
     */
    @Schema(description = "关联id 与type 匹配 1 为sn 2 为pay_type 3 app_id 4 mch_channel_code")
    private String relationId;

    @Schema(description = "关联ids")
    private List<String> relationIds;
    /**
     * 统计时间
     */
    @Schema(description = "统计时间")
    private Long time;
    
    /**
     * 统计时间
     */
    @Schema(description = "统计时间")
    private Set<Long> times;
    
    @Schema(description = "ids")
    private List<Long> ids;
    /**
     * 支付方式编码
     */
    @Schema(description = "支付方式编码")
    private List<String> payWayCodes;
    /**
     * 商户商户号
     */
    @Schema(description = "商户商户号")
    private String appId;
    /**
     * 通道编码
     */
    @Schema(description = "通道编码")
    private String mchChannelCode;
    /**
     * 通道编码
     */
    @Schema(description = "渠道编码")
    private String channelCode;

    @Schema(description = "AUT编码")
    private String autCode;
    
    /**
     * 平台订单号
     */
    @Schema(description = "时间类型 1:1天 2:周 3:月 4:年")
    private Integer queryType;
    
    /**
     * 商户商户号
     */
    @Schema(description = "商户商户号 商户维度查询条件")
    private String sn;
    /**
     * 商户商户号
     */
    @Schema(description = "子商户号 支付通道维度查询条件")
    private String subMchId;
    /**
     * 商户商户号
     */
    @Schema(description = "机构商户号 机构维度查询条件")
    private String agentId;

    @Schema(description = "排序字段")
    private String sortBy;

    @Schema(description = "排序顺序")
    private String sort;
    

}
